package com.vdongchina.thread.base.demo.threadpool;

public interface ThreadPool<Job extends Runnable> {

    /**
     * 线程池 执行方法
     *
     * @param job
     */
    void execute(Job job);

    /**
     * 线程池 关闭方法
     */
    void shutdown();

    /**
     * 增加工作者
     *
     * @param num
     */
    void addWorkers(int num);

    /**
     * 移除工作者
     *
     * @param num
     */
    void removeWorkers(int num);

    /**
     * 获取正在执行的任务数量
     *
     * @return
     */
    int getJobSize();

}
